package 刷题10月.数组;
// https://leetcode-cn.com/problems/count-number-of-pairs-with-absolute-difference-k/
public class 数组2006差的绝对值为K的数对数目1018 {
    public static void main(String[] args) {
        System.out.println(countKDifference(new int[]{1,2,2,1},1));
    }
    public static int countKDifference(int[] nums, int k) {
        int count=0;
        for(int i=0;i<nums.length-1;i++){
            for(int j=i+1;j<nums.length;j++){
                if(nums[i]-nums[j]==k||nums[i]-nums[j]==-k){
                    count++;
                }
            }
        }
        return count;
    }
}
/*
因为题目给了范围，我们可以用一个长度为101的数组。可以理解为101个洞
数的值对应下标的位置，如果该位置有值，洞的值+1。没有值就是0。
依次将相隔为k的两个值相乘，如果为1，说明是1*1,即两个位置都有值，找到一组解。
统计解的个数
class Solution {
    public int countKDifference(int[] nums, int k) {
        int[] hole=new int[101];
        for(int i=0;i<nums.length;i++){
            hole[nums[i]]+=1;
        }
        int res=0;
        for(int i=1;i+k<101;i++){
            res+=hole[i]*hole[i+k];
        }
        return res;
    }
}

 */
